home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
l
/
lastwillandtestament.dms
/
lastwillandtestament.adf
/
Qed.doc
< prev
next >
Wrap
Text File
|
1978-05-27
|
57KB
|
1,293 lines
QED
AMIGA TEXT EDITOR
Copyright 1989 by Darren M. Greenwald
All rights reserved
QED
AMIGA TEXT EDITOR
Copyright 1989 by Darren M. Greenwald
All rights reserved
Whats new as of 7/23/89
-----------------------
Revision 0.19
1.) An IMPORTANT BUG has been fixed in 0.18 which occurs when you edit a
line, and then do a page up/down, cursor top/bottom window, or top/bottom
of page. The changes to the line were not updated properly - otherwise
this version is like 0.18 in regards to new features.
Whats new as of 7/20/89
-----------------------
Revision 0.18
1.) QED now supports a transparent line editing buffer which allows you to
enter, and edit text at near full speed regardless of file size. QED will
use this temporary buffer when making changes to a line which is less then
1000 characters long. This is a transparent operation, and requires
nothing of the user. The buffer is flushed when a new line is inserted,
when the cursor is moved off the line, when a horizontal scroll is
required, and before certain operations such as saving a file.
2.) Cursor movement is now much faster when mark block mode is off.
Chances are that most users will not be able to notice the difference
because cursor movement was already quite fast, however users of large
bit-plane screens should notice faster performance.
3.) Each text editing window can now have a unique current directory.
If you are using QGO to run QED, then you MUST use the latest version of
QGO which passes its current directory to QED when opening new windows,
and/or files. Its important to note that when you open a new window with
the NEW command, that the current directory lock will be inherited by the
new window just like the window options, colors, etc. It is left up to the
user to keep track of the default directory of each window (the current
directory is what will be displayed in the file requester if no path name
is entered).
4.) The printer handling code has now been reworked to send smaller chunks
of text to the printer.device; this was primarly done to allow for a
faster, and safer abort. If you had any troubles aborting a print out
before, this new code should help.
The PRInt command now accepts a boolean TRUE/FALSE argument. If TRUE,
the user is not prompted with a requester before printing. If FALSE, or
ommitted, the verification requester is displayed.
5.) There was a bug in the menu set-up code which could result in QED not
recognizing some of the items in the pull-down menus. This has
(hopefully) been fixed.
6.) You now have the option of using the ARP file requester; requires ARP
library version 34 or greater. This option can be set from the command
mode.
7.) The ALT keys are no longer automatically mapped to imitate the RIGHT
AMIGA key press alternatives listed in the pull-down menus. The problem
with making this an automatic feature was that it was then difficult to
enter any of the high character set which would normally be generated by
using the ALT key. In addition, automatic mapping of these keys consumed
memory for a feature that not everyone wants/needs. There is now a single
command available which will map the ALT keys to imitate the RIGHT AMIGA
key.
The command is "XMAP"; this command requires no arguments, and may fail
if there is not enough memory.
8.) QED now allocates at least 16K of initial workspace when opening a
file. Previously QED would allocate a buffer just big enough to hold the
file rounded out to an even 8K multiple. This was primarily done to
insure that a decent amount of work space is allocated when the file is
opened as QED will attempt to reallocate a work space if you are inserting
text, and the workspace is exhausted.
9.) A variety of minor fixes, and some cleanup.
10.) QED now supports some new keyboard mapping commands including the
ability to quickly clear, or temporarily ignore groups of keyboard
definitions. A single command also allows you to reset the default key
mapping assigned by QED upon startup.
QED Copyright 1989 by Darren M. Greenwald.
QED is a SHAREWARE; freely distributable Amiga text editor.
Last revised 7/20/89
General notes, comments, questions, and answers from the author of QED.
-----------------------------------------------------------------------
Over the past few weeks I have received several questions which
repeatedly keep coming up. Rather then answer the same questions over, and
over again, I have decided to use this file for this purpose.
-----
QUESTION - Why can't I use the LEFT AMIGA key in place of the RIGHT AMIGA
key to select menu items?
ANSWER - The LEFT, and RIGHT AMIGA keys belong to the operating system.
Intercepting these keys, or otherwise changing their functions is NOT a
recommended Amiga programming practice. In fact we are likely to see much
more use made of the LEFT AMIGA key by the operating system under version
1.4 of the operating system. Intercepting the LEFT AMIGA key is sure to
result in contention issues under 1.4.
Starting with beta version 0.14 of QED, the ALT keys are automatically
mapped to imitate the RIGHT AMIGA key alternatives listed in the pull-down
menus. Prior to this version, the CTRL key was mapped to imitate the RIGHT
AMIGA menu keys. This is both a valid programming practice, and allows you
to use either hand.
-----
QUESTION - How come LEFT AMIGA M/N don't work unless I have another screen
open?
ANSWER - LEFT AMIGA M/N is an operating system feature which moves the
Workbench screen to front & back. It never does anything unless you have
another screen open. QED runs on the Workbench screen; not its own screen.
-----
QUESTION - How come I can't respond to QED's requesters using LEFT AMIGA V/B?
ANSWER - LEFT AMIGA V/B is an operating system feature which allows you
to respond with a yes/no response to "AUTOREQUEST REQUESTERS" such as the
type used for system requesters.
QED does not use Auto Requesters because I find them unattractive,
and far too limited for the needs of the program. Auto Requesters also
do not allow for the use of string gadgets.
As stated above, the LEFT & RIGHT AMIGA keys belong to the operating
system. Application programs should not be intercepting, or otherwise
fiddling with system capabilities - this is the kind of programming practice
which often results in a program not working under later revisions of the
operating system.
Re-read page 3 of your 1.2 enhancer manual (at the top labeled - Page
4-30:). Note that this capability works for Autorequesters only; it was
never intended to work for application specific requesters.
Therefore, I will not attempt to imitate such a feature until such time as
it becomes an operating system feature. In the mean time, use of the 'o',
and 'c' keys is both easy, and rapidly becomes natural. Once you become
use to it, you'll wish every program made it so easy.
When a string gadget is active, it is not possible to obtain key press
messages without a great deal of system fiddling; the proper way to respond
to string requesters is with the RETURN key, and/or the other editing keys
which string requesters recognize.
-----
QUESTION - The file requester appears to be missing file/sub-dir names?
ANSWER - File requesters vary significantly in the Amiga software world.
Some sort file names, some dont. Some make you wait for the entire
directory to be read, some dont. Some separate the files from the
sub-directories, some dont. Etc...
There is really no "convention" as of yet. Few people can agree on how a
file requester should behave, and often users are rather confused by the
issues involved (the kinds of issues which programmers can spend hours
discussing).
No, QED's file requester is not missing file, or sub-directory names,
however, the list of names is not immediately redisplayed until the user
slides the proportional gadget. Why?
Many Amiga file requesters still make you wait for the entire directory to
be read before displaying anything, and some don't even allow you to enter
a file, or path name until the entire directory has been read. This is
often painfully slow for floppy users.
Some requesters, including QED's, solve this problem by allowing you to
select a file/sub-dir before the entire directory has been read. However,
it is my opinion that some programmers have not given this approach enough
consideration. The problem is that some requesters will continually, or
periodically redisplay the list of file/sub-dir names. Often this occurs
just as you are ready to click on a name, or just after you have finished
moving the proportional gadget to display the name you are looking for.
The net result is that you end up having to wait for the entire directory
to be read anyway as the list of names often changes faster then you can
read, or select. Worse, it takes additional time to continually redisplay
the list of names meaning it actually takes longer to read the entire
directory!
While it is often "cute" to watch the list of file/sub-dir names
continually change, it is also a pointless waste of time. At best the user
gets lucky, and can click on a name before the list is updated. Often it
is just not worth even trying, and the user gets to wait even longer for
the entire directory to be read.
-----
QUESTION - QED does not recognize a font change using NEWFONT?
ANSWER - The only program which "properly" adjusts the system font is
Preferences.
QED has been successfully tested with Preferences, Setfont2, and FF by
MicroSmiths, Inc.
There is however a bug in Setfont2 which is apparent system wide in string
gadgets. This is evidenced by 2 different fonts being used in string
gadgets; 1 when the string gadget is active, and another when inactive.
This is a bug in Setfont2, and cannot be corrected by QED, however it
appears to be relatively harmless.
-----
QUESTION - Why do I have to pay the registration fee for the command mode
and ARexx macro documentation?
ANSWER - Why do you ask? If you have not paid the registration fee, then
you have made no real investment in QED. On the other hand...
Registered users have made an investment of money, and time. Registered
users deserve more then non-registered users.
I have made an investment of many thousands of hours learning how to
program, and many thousands of hours working on QED. I have also made an
investment of many thousands of dollars for equipment, books, development
tools, etc.
Need I say anymore? Next question....
User's documentation
Last revised 7/18/89 - QED 0.18
QED may be freely distributed. It may not be distributed in any
commercial product, shareware product, or commercial publication without
permission. It is permissible to release QED as part of a public domain
collection, or on a telecommunication service as long as no "special
charge" is made for this program; "special charge" does not include
"reasonable" charges for replication of the media, or standard charges for
use of the system.
The intent of the above should be clear - I did the work, and while
you are allowed to freely distribute the program, you may not profit from
it.
Any archived files which the author distributes MUST be left intact.
If you do distribute this program, I insist that you distribute all the
files including any notices.
QED is SHAREWARE - the registration fee is $20, and in return you will
receive complete documentation describing QED's command line language,
ARexx interfacing, keyboard mapping, etc.
Darren M. Greenwald
2511 W. Sunflower Av. #D-16
Santa Ana, CA 92704
GEnie E-MAIL address: DMG
DISCLAIMER:
---------------------------------------------------------------------
In no way can the author be held responsible for any damages, loss of
anticipated profits, or any other perceived loss related to using this
program. The user assumes the entire risk, and responsibility when using
this program.
TABLE OF CONTENTS
---------------------------------------------------------------------
Section i .................. Introduction
Section ii .................. Registration
Section 1.0 .................. Starting QED
Section 2.0 .................. QED Requesters
Section 3.0 .................. Opening files
Section 4.0 .................. Saving files
Section 5.0 .................. Opening new windows
Section 6.0 .................. Window options
Section 7.0 .................. Positioning the cursor
Section 8.0 .................. Basic editing keys
Section 9.0 .................. Deleting text
Section 10.0 .................. Block operations
Section 11.0 .................. Search & Replace
Section 12.0 .................. Formatting text
Section 13.0 .................. Indenting text
Section 14.0 .................. Miscellaneous features
Section 15.0 .................. Command line mode, and ARexx macros
Section 16.0 .................. Editing binary characters
Section 17.0 .................. Printing
Section 18.0 .................. Making QED resident (and QGO)
Section i INTRODUCTION TO QED
=====================================================================
QED is a fast, and easy to use general-purpose "text-editor". There
are no built-in limits on the number of windows which can be opened, file
size, line length, or number if lines per file other then any memory
limitations. Memory is dynamically allocated, and deallocated through out
the program, and memory is used in an efficient manner. As you enter
text, additional memory is automatically allocated as needed.
QED allows you to work with multiple text editing buffers in the form
of separate text editing windows. Each new window requires a minimal
amount of memory. Data can be shared between text editing windows via
cut, copy, and paste. There is no significant performance penalty for
working with multiple text editing windows. Each text editing window can
have unique editings options, settings, colors, etc.
QED will work with non-proportional system fonts of any size with the
understanding that fonts wider then Topaz 9, and/or taller then Topaz 11
may be too large for use on a 640x200 Workbench screen. This is because
QED adjusts the size of the pull-down menus, and requesters to use your
system font. FastText (Copyright 1988 by Darren M. Greenwald) is built
into the program. "FastText" is a blitter based fast text rendering
routine which will speed up rendering of fonts of any height, and from 4-16
pixels wide. QED also uses your system's keymap to decode the
alpha-numeric keys (dead-keys too), and will work properly with over-sized
Workbench screens.
QED has extremely fast search, and replace capabilities. A
lightening fast formatter allows you to format a paragraph, or marked
block text. In fact many of QED's features can be limited to a marked
block of text. A full ARexx interface, and keyboard mapping is supported
for the advanced users, while the full Intuition interface makes QED easy
to use.
Section ii REGISTRATION
=====================================================================
QED is SHAREWARE. The registration fee is $20, and should be sent to:
Darren M. Greenwald
2511 W. Sunflower Av. #D-16
Santa Ana, CA 92704
Please include your name, address, and if you would like, a GEnie
E-MAIL address where you can be reached. The registration fee may be
increased in the future.
I can also be contacted on GEnie, E-MAIL address "DMG". You are also
invited to stop by the Amiga Programmer's RoundTable (PRO-AM) page 670.
I would like to think that $20 is a very reasonable fee for software of
this caliber. The SHAREWARE method of distribution is less expensive then
standard commercial distribution, and allows me to distribute updates
quickly, and inexpensively.
Registered owners will also receive:
1.) Documentation describing the built in command line language, and
advanced features which are only accessable via the command line
language (e.g. insert multiple lines).
2.) Documentation explaining how to write ARexx macros for use with QED.
3.) Documentation explaining how to configure QED via an ARexx
start-up macro.
4.) Documentation explaining how to create macros which are
automatically executed when a file is opened (based on the file
name's extension).
5.) Documentation explaining how to configure the keyboard, and
function keys to execute QED commands, DOS commands, and/or ARexx
macros.
6.) A disk containing the latest release of QED, and a number of
example macros.
These capabilities allow you to extend QED's features, and create a
customized working environment. If you don't already have ARexx, I highly
recommend you purchase it. ARexx is a copyrighted program by William S.
Hawes.
Unfortunately, I will not be able to send free software updates to
registered users due to the cost of mailing, however, software updates will
be made available to registered users for a nominal fee to cover mailing
and material costs.
Section 1.0 STARTING QED
=====================================================================
It is assumed the user knows how to install QED on their system, or
working disk. QED is a stand alone program, and is easily copied to any
destination directory; no special support libraries are required. A small
utility program called "QGO" is also provided which is needed if QED is
run in its resident mode.
By default, QED opens a single, un-named text editing window upon
start up. You may begin entering text immediately if you like, or open an
existing file for editing. ARexx owners have the option of creating a
start up macro which will be automatically executed when QED is started.
All of QED's options, and capabilities can be accessed using the macro
capability, so this is an excellent way to create a configuration file to
set the various options up the way that you want. Only registered users
will receive documentation describing QED's built in command language, and
how to write ARexx macros for use with QED.
Section 2.0 QED REQUESTERS
=====================================================================
At times QED will ask for a response from you in the form of a
requester. All QED requesters are opened in draggable windows, and the
position of all requesters is remembered for the duration of the editing
session. Therefore you can place the requester windows where you want
them, and they will be opened in the same position where you last left
them. The size of all requesters are adjusted (width & height) to use your
system font.
The File Requester -
------------------
Amiga users should be relatively familiar with file requesters,
however it is worth noting the following:
The QED file requester can display up to 8 files, or sub-directory
names. Directory entries are sorted in non-case senstive order, and
displayed such that sub-directories take precedence over file names.
The QED file requester does not make you wait for the directory to be
read before you can enter a file name, or change directories.
QED's file requester makes it EASY to select a file, or sub-directory
name before the entire directory has been read. First, you can
enter a new path name, or a file name before the entire directory
has been read. Second, QED's file requester does not continually,
or periodically change the list of names on you until you drag the
scroll bar. This means that you can actually single, or double click
on a name before the entire directory has been read, and not have
to worry about the list of names changing on you faster then you
can move the mouse!
The string gadget labeled "File:" is automatically activated, so it is
possible in some cases to enter a file name from the keyboard, and
press the RETURN key without ever touching the mouse.
This file requester dynamically allocates, and deallocates memory as
needed for the directories; there is no built-in limit on the number
of directory entries that this requester can handle.
A gadget labeled "TOGGLE:" allows you to toggle between a list of
devices in your system, and the directory list. There is no built-in
limit on the number of devices which this requester can handle, and
device names of up to 31 characters in length do not present a problem
as they do with some requesters.
You may use the ARP file requester if you prefer (this option can be
set from the command mode, and requires the arp.library version 34 or
greater).
Input requesters -
----------------
Input requesters expect you to respond by typing in a number, or a
string of text. Input requesters automatically activate the string
gadgets so often it is possible to respond by entering the
number or string(s), and pressing the RETURN key. Of course you can
also respond using the mouse to select OK, or CANCEL. If none of the
string gadgets are activated, you can respond with the 'o' or 'c' keys
on the keyboard.
Notices & Queries -
-----------------
Notices can only be responded to with an "OK" response, while queries
allow you to respond with an "OK" or "CANCEL" response. If you
prefer, you can also respond to these requesters using the 'o' or 'c'
keys on the keyboard
Section 3.0 OPENING FILES
=====================================================================
QED allows you to OPEN, or INSERT existing files. The difference is
that opening a file replaces the text editing buffer, while inserting a
file 'inserts' the file below the cursor position. When opening a file,
you will be prompted with a requester if you have made any changes to the
text buffer being replaced.
It is also possible to specify one, or more file names to be
automatically opened in separate text editing windows when starting QED
such as:
1> run qed hello.c read_me "df0:my file"
In the above example, QED will attempt to open the files named
"hello.c", "read_me", and "df0:my file" in separate text editing windows.
If any of the above files are not found, then QED assumes you want to
create a file of the same name, and opens an empty text editing window.
QED is not suitable for use as a binary file editor because some
binary characters are stripped, and converted to other characters when
opening, or inserting a file.
Binary value Action taken
--------------------------------------------------------
11-255 Valid characters. No stripping or conversion.
10 Linefeed - treated as an end of line character.
9 Tab - If "TAB = SPACES" under the "Options" menu is
turned ON, then hard tabs are expanded to spaces
when a file is opened, or inserted based upon the
windows tab size setting which can be any value from
1-8. If "TAB = SPACES" is OFF (the default setting),
then hard tabs are left in a file when opened, or
inserted.
1-8 Valid characters. No stripping or conversion.
0 Stripped at load time.
Selecting "OPEN", or "INSERT" file under the "Project" will result in the
file requester being displayed.
Section 4.0 SAVING FILES
=====================================================================
QED allows you to save the entire text editing buffer, or a marked
block of text using the "SAVE AS" option under the "Project" menu. The
"SAVE AS" option causes the file requester to be displayed. Named files
can be quickly saved (if any changes have been made to the file) using the
"SAVE" option under the "Project" menu.
In order to save a marked block of text, highlight the block (see the
section described later on how to mark blocks of text), and simply select
"SAVE AS". When mark block mode is on, it is implied that you want to save
just the marked block of text. When mark block mode is off, it is implied
that you want to save the entire text editing buffer to a file.
You have the option of creating a backup file under the "Options"
menu. When turned on, QED will rename any file which is going to be
over-written as 'qed.backup' before saving the file. This allows you an
opportunity to recover the over-written file should you over-write a file
by mistake.
You also have the option of saving text to a file in append mode under
the "Options" menu. This capability is often handy when you want to save
multiple blocks of text to a single file. When this option is turned on,
all text written to a file will be appended to the end of the file. If the
file does not exist, it will be created.
Section 5.0 OPENING A NEW WINDOW
=====================================================================
QED supports multiple text editing buffers in the form of an unlimited
number of text editing windows. This is advantageous because you can see
what each buffer holds, and edit any buffer. There is no built-in limit
on the number of windows which can be opened other then that which the
operating system can handle, and memory limitations. There is also no
significant performance penalty for opening multiple windows other then
that which is typical of the operating system when managing multiple
windows on the Workbench screen.
In order to open a new window, select "NEW" under the "Project" menu.
Note that the pull-down menus are accessable, and shared by all text
editing windows. It is also important to note that menu selections affect
the window from which the menu item was selected. For example, selecting
"QUIT" from a window causes only that window to be closed. When the last
window is closed, QED is automatically terminated.
The general layout of a QED text editing window is depicted by the
diagram below:
------ File name ------- Line/Column cursor position
| |
----------------------------------------------------------
| QED - Untitled L: 1 C: 20 | | |- Front/Back
----------------------------------------------------------
| |_|- Top of file
| |_|- Page up
| |
| |
| Text editing |
| work area |
| |
| |
| _|
| |_|-Page down
| |_|-End of file
| | |-Window size
----------------------------------------------------------
You can define the default window size that QED will use to open a
window upon startup, as well as any NEW windows opened via the pull-down
menus. This capability requires the use of the SETENV function provided as
part of the 1.3 operating system.
In order to use this function, assign ENV: to the RAM: disk, and
use the SETENV command such as -
1>setenv qedsize "0 20 300 100"
Where the four parameters are left edge, top edge, width, and height
in pixels. If you enter any erroneous arguments, the window is opened to
the full size of the WB screen a few pixels below the title bar. Ideally
you would make the assignment of the environment variable "qedsize" as part
of your startup-sequence.
Section 6.0 WINDOW OPTIONS
=====================================================================
Each text editing window has its own private text editing buffer, and
private characteristics including:
Under the "Tools" menu
----------------------
Pen and paper colors -
Pen, and paper colors can be toggled between 4 preset color
combinations by selecting "COLOR" under the "Tools" menu. These
color combinations have been selected to also work properly using a
one bit-plane Workbench screen such as is possible using the
1008x800 monitor.
From the command line mode it is also possible to set a specific
preset color combination, or any pen/paper color combination of your
choice. Pen/Paper colors can be set from 0-255 should newer Amigas
offer more on-screen colors.
Tab size -
The tab size can be set individually from 1-8 for each window
under the "Tools" menu, but by default is set to the proper value of
eight (8). The tab size is used when calculating how many spaces to
insert when using soft tabs, and affects how hard tabs are displayed.
Right margin -
The right margin can be set individually for each window under
the "Tools" menu. The right margin setting is used by the formatter,
and word-wrap routine. By default, the right margin is set to 75, but
can be set to any value from 8-10000.
As an alternative, you can set the right margin to a value of one
(1) in which case the right margin is variable based on window, and
font width. In this case the right margin is equivalent to the
maximum number of columns visible in the window.
Show end of lines -
Selecting "SHOW EOL" under the "Tools" menu toggles visible
end of line characters on/off. The actual character used to represent
end of line characters can be set from the command mode.
Show hard tabs -
Selecting "SHOW TABS" under the "Tools" menu toggles visible
hard tabs on/off. The actual character used to represent hard tabs
can be set from the command mode.
Under the "Options" menu
------------------------
Overstrike mode -
QED allows you to enter text in insert, or overstrike mode.
Word wrap -
QED will perform "simple" word-wrap when text is entered past the
right margin. This feature should not be confused with the more
complex real-time paragraph reformatters typical of many word-
processors.
Case sensitive search mode -
QED allows you to search for text in case, or non-case sensitive
search modes. When case sensitive mode is turned off, the alpha
characters (a-z and A-Z) are treated as equivalent.
For example, you could enter "cat" as a search string, and
"cat", "CAT", "Cat", etc., would all be found when searching for
text, and/or when searching & replacing text.
Append saves -
This option allows you to save text to a file in append mode in
which case any text written to an existing file will be appended to
the end of the file. This capability is often useful when marking
multiple blocks of text to be saved to single a file.
Backup files -
This option will cause any file which is going to be over-written
by a save operation to be renamed as "qed.backup" before saving the
file. This allows you an opportunity to recover a file which is
inadvertently replaced by a save operation.
Mark line mode -
When this option is turned on, you can only mark whole lines
of text to be cut, copied, saved, erased, formatted, replaced,
and printed. The block, and project insert functions are also
affected. When this options is turned on, a block of text which is
inserted from the clipboard, or a file will be inserted as a group of
lines above the cursor position. This mode will most likely be
preferred by those working with line oriented text (e.g., programmers).
When this option is turned off, you can mark a block of text
from any line/column position to any line/column position. The block,
and project insert functions are also affected. When this option is
turned off, a block of text which is inserted from the clipboard, or a
file will be inserted at the cursor position. This mode will most
likely be preferred by those working with document oriented text.
Free form editing -
This option affects the cursor's behavior. When turned on, the
cursor can be positioned past the end of line allowing you to enter
text beyond the end of a line in which case spaces are automatically
inserted as needed. This mode will most likely be preferred by those
working with line oriented text (e.g., programmers).
When turned off, the cursor cannot be moved past the end of line.
The right cursor key is also affected; if you cursor right past the
end of a line, the cursor is wrapped to the first character of the
next line. This mode will most likely be preferred by those working
with document oriented text.
Insert tabs -
This option affects how the TAB key behaves. When turned off,
the tab key moves the cursor to the next tab stop. When turned on,
the TAB key can be used to insert hard tabs, or an equivalent number
of spaces (see "Tabs equal to spaces" below).
Tabs equal to spaces -
This option affects how the TAB key behaves. When turned on,
soft tabs (spaces) are used instead of hard tabs (binary 9). This
option is checked for when you press the TAB key, when indenting
lines, and when a file is opened, or inserted (allowing you to de-tab
files at load time).
When opening a new window, these characterstics are inherited from the
window from which the "NEW" command was issued. It is also possible to
write macros which are automatically executed when a file is opened. This
capability is extremely useful for automatically adjusting the various
window options listed above to suit the type of file you are working on.
For example, you might load a "C" source code file in one window, and have
a macro which automatically sets your tab size to three (3), turns mark
line mode on, turns free-form editing on, etc.
In another window you might then load a document file, and have a macro
which automatically sets your tab size to five (5), turns mark line mode
off, turns free-form editing off, etc.
Section 7.0 CURSOR POSITIONING
=====================================================================
Like most text editors, QED allows you to insert, or over-strike text
at the cursor position. Perhaps the easiest way to position the cursor is
with the mouse using the "point & click" method. Of course the keyboard
can be used to position the cursor using the cursor keys.
Text scrolling is allowed in all directions, and can be accomplished
via the cursor keys, or mouse using the "point & drag" method.
It is also possible to go to a specific line number (see the "Cursor"
menu), or mark & go to a spot. Command line mode users have more cursor
positioning tools available such as the ability to go to a specific line,
and column position.
Cursor key | Result
---------------------------------------------------------------------------
|
Up | Move the cursor up a single line.
|
Down | Move the cursor down a single line.
|
Left | Move the cursor left a single character. If the cursor is
| at the beginning of a line, the cursor is wrapped up to the
| end of the previous line.
|
Right | Move the cursor right a single character.
|
SHIFTED | Move the cursor up a single window page.
Up |
|
SHIFTED | Move the cursor down a single window page.
Down |
|
SHIFTED | Move the cursor to the previous word.
Left |
|
SHIFTED | Move the cursor to the next word.
Right |
|
ALT | Move the cursor to the first line in the text editing
Up | buffer.
|
ALT | Move the cursor to the last line in the text editing buffer.
Down |
|
ALT | Move the cursor to the beginning of the line.
Left |
|
ALT | Move the cursor to the end of the line.
Right |
|
CTRL | Move the cursor to the top of the window.
Up |
|
CTRL | Move the cursor to the bottom of the window.
Left |
---------------------------------------------------------------------------
Section 8.0 BASIC EDITING KEYS
=====================================================================
Keypress | Result
---------------------------------------------------------------------------
|
RETURN | Splits the line at the cursor position. If the cursor
| is positioned beyond the end of the line, a new line is
| inserted.
|
ENTER | Inserts a new line with AUTO-INDENT.
|
DELETE | Deletes the character under the cursor.
|
BACKSPACE | Deletes the character to the left of the cursor. If the
| cursor is on the beginning of a line, the BACKSPACE key
| can be used to join the line with the previous line by
| effectively deleting the previous end-of-line character.
|
TAB | Moves the cursor to the next tab stop. The tab size by
| default is set to the proper tab value of 8, but can be
| set individually for each window. You also have the option
| under the "Options" menu of having the tab key insert a
| sufficient number of spaces at the cursor position to move
| the cursor to the next tab stop, or to insert a hard tab.
|
---------------------------------------------------------------------------
Section 9.0 DELETING TEXT
=====================================================================
At times you may want to delete larger pieces of text then is
practical using the BACKSPACE, and DELETE keys described above. QED
provides a number of tools for deleting text listed under the "Edit" menu.
Delete line -
The entire line on which the cursor resides is deleted.
Delete to end of line -
Deletes all text from the cursor position to the end of the line.
Delete word -
Deletes the word on which the cursor resides.
Undelete -
Text which has been deleted using any of the above 3 functions is
copied to a 256 byte private backup buffer (one buffer per editing
window). The last bit of deleted text (line, word, or end of line)
can be restored using the undelete command.
QED will allow you to work with lines longer then 256 characters,
however to insure that you have an opportunity to undelete text, the
delete tools listed above will not work if the amount of text to be
deleted exceeds 256 characters. In this case use the block cut, or
erase commands.
Section 10.0 BLOCK OPERATIONS
=====================================================================
QED allows you to mark a block of text to be cut, or copied to a
clipboard area which is used by all the text editing windows. In addition,
many of the QED commands can be restricted to a marked block of text (e.g.,
SAVE AS, REPLACE, PRINT, FORMAT, etc.).
Mark block mode can be toggled on/off from the pull-down menus under
the "Edit" menu, or can be toggled on/off by "double-clicking" the left
mouse button over the same row/column position.
Mark block mode is transparent; you can continue to edit text like
usual, and the pull-down menus are always accessable. In order to mark a
block of text, simply toggle mark block mode on, and use the cursor keys,
or mouse to highlight a range of text.
As indicated above, you have the option under the "Options" menu of
toggling between line mark mode (always marks whole lines), or free mark
mode (allows you to mark from/to any row/column position).
Both the CUT, and COPY block tools under the "Edit" menu copy
the marked block of text to the clipboard, however CUT block also deletes
the text.
In some cases you may want to cut a block of text, but you don't
want it copied to the clipboard. In this case use the ERASE tool under the
"Project" menu. ERASE will erase all text in a text editing window, and
free any up any memory that it can, however if mark block mode is on, the
ERASE function will only erase the marked block. In either case you will
be prompted with a requester because any erased text cannot be restored.
INSERT block under the "Edit" menu inserts whatever is in the clipboard
at the cursor position. If MARK LINE MODE is ON, the contents of clipboard
will be inserted as a group of lines above the cursor position. If MARK
LINE MODE is OFF, the contents of the clipboard will be inserted at the
cursor position.
Section 11.0 SEARCH & REPLACE
=====================================================================
The SEARCH, REPLACE, and HUNT tools under the "Tools" menu allow you
to search for a phrase, replace a phrase, and quickly repeat the last
search and/or replace operation.
As indicated above, QED supports both case, and non-case sensitive
search modes, and can be optionally set for each text editing window.
Both SEARCH, and REPLACE will prompt you for strings using a
requester. Both commands will search forward from the cursor position for
a matching search string, and position the cursor on the first occurrance
of the search string if a match was found.
When using the REPLACE command, you will also be prompted with a
message in the title bar of the window such as:
Replace? (Y)es (N)o (G)lobal (M)arked (Q)uit
You may respond using the upper, or lower case keys on the keyboard
where (?) causes the following action to be taken:
(Y)es - Yes, replace the string with the search string, and
continue searching.
(N)o - No, don't replace the string, and continue searching.
(G)lobal - Replace all occurrences of the search string forward from
the cursor position.
(M)arked - Replace all occurrences of the search string found within
a marked block. In order to use this option, you must
first mark a block of text.
(Q)uit - Quit searching. You may also click in the window with
the LEFT mouse button to abort the search.
In order to search, and replace on 'end-of-line' characters, simply
use the CTRL-J character in your search, and replace strings to denote
'end-of-line' characters. CTRL-J is equivalent to a binary value of 10;
also known as a LINEFEED. Other control key sequences as listed in Section
16.0 below may also be used in your search strings as needed.
The HUNT command can be used to repeat the last SEARCH, and/or REPLACE
operation. When using the HUNT command, searches will skip the character
under the cursor to avoid finding duplicate matches of a string.
Section 12.0 FORMATTING TEXT
=====================================================================
The FORMAT tool under the "Tools" menu allows you to format a
paragraph, or a marked block of text.
If mark block mode is off, then FORMAT searches forward from the line
on which the cursor resides for two (2) consecutive end of line characters.
The following illustration may be helpful in better understand how the
FORMAT tool works.
Let's suppose the original piece of text looks like this:
--------------------------------------------------------
This is some text to demonstrate a point.
This is some more text.
This is how the text is evaluated by the FORMAT command:
-------------------------------------------------------
_________________________________Cursor position column 11.
|
| _______________________Wrapping will occur here.
| |
| | ___________________Right margin is 25.
| | |
| | | ___________Column 33 is > right margin.
| | | |
This is some text to demonstrate a point. - This line of text is terminated
- by 2 end-of-line characters.
This is some more text
This is the result after using the FORMAT command:
-------------------------------------------------
This is some text to
demonstrate a point.
This is some more text.
FORMAT will never insert, or delete any spaces. What it will do is
replace spaces with end-of-line characters, and vice-versa in an attempt to
cause the affected text to fit in the right margin setting with word-wrap.
Section 13.0 INDENTING TEXT
=====================================================================
Programmers who work with block oriented languages frequently find
themselves indenting sections of source code left, and right. Often this
can mean manually deleting, and/or inserting spaces or tabs. QED provides
a tool which allows you to easily indent a line, or a range of lines to the
next left or right tab position.
Under the "Tools" menu, you have the option of indenting the current
line left, or right to the next tab stop, or indenting multiple lines. If
you choose the INDENT MULTIPLE tool, you will be prompted with a message in
the window's title bar such as:
Indent? (R)ight (L)eft (S)kip ([) (]) (Q)uit
You may respond using the upper, or lower case keys on the keyboard
where (?) causes the following action to be taken:
(R)ight - Indent line right, and move cursor to the next line.
(L)eft - Indent line left, and move cursor to the next line.
(S)kip - Skip the line, and move cursor to the next line.
([) - Indent line left, and don't move the cursor.
(]) - Indent line right, and don't move the cursor.
(Q)uit - Abort multiple indent utility. You may also click in the
window with the LEFT mouse button to quit.
The INDENT MULTIPLE tool is extremely useful when you wish to change the
indent of a range of lines. Place the cursor at the top line of the range
you want to change, and repeatedly use the (R), or (L) keys. You can also
skip lines you dont want changed, and adjust each line individually using
the ([), and (]) keys.
You have the option of indenting lines using hard tabs, or soft tabs
(spaces). If "TAB = SPACES" is turned ON under the "Options" menu, soft
tabs will be used when indenting lines. If "TAB = SPACES" is turned OFF,
then hard tabs will be used.
Section 14.0 MISCELLANEOUS FEATURES
=====================================================================
QED allows you to assign any built in QED command, ARexx macro, and
any DOS command to ANY key when pressed alone (including the FUNCTION
keys), or to ANY key when pressed in conjunction with the CTRL, ALT, or
SHIFT keys. In order to use this capability you will need the Registered
User's Documentation.
The ALT keys can be mapped to imitate the RIGHT AMIGA key menu
alternatives listed in the pull-down menus using a single command from
the command mode, or in an ARexx macro. For those of you who are
uncomfortable with using the RIGHT AMIGA key, this allows you to use
either the left, or right ALT keys.
Even though there is no "NEW CLI" command in the pull-down menus, the
CTRL/HELP key combination is by default mapped to open a new CLI window.
If you own Brian Jackson's ACK terminal program for the Amiga, you can
mark blocks of text to be sent to ACK via a message port just as if you had
typed the text directly, or sent an ASCII file. In order to do this,
simply mark a block of text that you want to send, and press CTRL "`".
Remember that if this does not suit your taste, you can remap the keyboard
as mentioned above. Only the Amiga makes it possible!
Brian Jackson can be reached on GEnie: E-MAIL address "B.J."
The ERASE function under the "Project" menu will clear, and reset the
text editing buffer as described under section 10.0 above.
The JOIN command under the "Edit" menu will join the line on which the
cursor resides with the previous line. Joining lines can also be
accomplished by back spacing over the previous end of line character as
described under section 8.0 above.
The MARK SPOT, and GOTO SPOT commands under the "Edit" menu can be
used to mark spot, and quickly return to the same position later, however
the spot may be lost when using the global replace capabilities, or if you
delete the text corresponding to the marked spot.
QED has a built-in keyboard repeat limiting feature which will only
limit repeating key press messages if QED cannot keep up (e.g., during
heavy multi-tasking). If you have ever used an Amiga program in which you
inadvertently held down a repeating key such as the BACKSPACE key too long,
and watched your last 10 minutes of work be erased, you will appreciate
this feature.
You can quickly move between multiple windows opened with the NEW
command by using the "NEXT", and "PREV" items under the "Project" menu. If
you have more then one window open, these two items will bring the next, or
previous window to front, and activate as if you had clicked in it with the
mouse.
Section 15.0 THE COMMAND LINE MODE & AREXX MACROS
=====================================================================
The "CMD LINE" command under the "Tools" menu causes the command line
window to be opened (if its not already), and assigns the command line
window to the text editing window from which this command was issued. As
an alternative, you can use the ESC key. The command line mode allows you
to enter commands, and execute/debug ARexx macros. Any command which can
be performed using the pull-down menus, or keyboard can be accomplished
from the command line mode, and much more...
The command line mode allows you to perform all of the functions
available in the pull-down menus, execute ARexx macros, and more. In order
to use this capability you will need the Registered User's Documentation.
The "RUN MACRO" command under the "Tools" menu will list, and allow you
to execute all ARexx macros in your REXX: directory.
Section 16.0 EDITING BINARY CHARACTERS
=====================================================================
QED is a text editor, so binary file editing is not fully supported,
however you can open, display, edit, and save most of the binary character
set other then binary 0. This capability should provide sufficient for
those who would like to insert ANSI, or printer device control sequences in
their files.
QED utilizes your system font, and it is worth noting that AMIGA fonts
generally do not contain character definitions for the complete binary
character set 0-255. Most system fonts only have character imagery for
binary 32-255, and possibly a smaller subset of characters. Undefined
characters are displayed using a default image (generally a box).
In order to compensate, QED will display the characters "A" through
"_" in inverted imagery to represent binary 1-31.
You can also enter these characters from the keyboard by holding down
the CTRL key, and pressing the following keys on the keyboard:
a = binary 1 q = binary 17
b = binary 2 r = binary 18
c = binary 3 s = binary 19
d = binary 4 t = binary 20
e = binary 5 u = binary 21
f = binary 6 v = binary 22
g = binary 7 w = binary 23
h = binary 8 x = binary 24
i = binary 9 (Hard tab) y = binary 25
j = binary 10 (Line feed) z = binary 26
k = binary 11 [ = binary 27
l = binary 12 \ = binary 28
m = binary 13 (Cairrage ret) ] = binary 29
n = binary 14 ^ = binary 30 (CTRL SHIFTED 6)
o = binary 15 _ = binary 31 (CTRL SHIFTED -)
p = binary 16
The above sequences rely on the standard operating system routines to
decode the keyboard, however you can assign key values to any keyboard
combination of your choice from the command mode. Of course you can also
assign whole strings of text which may include binary control sequences to
a key press combination.
Section 17.0 PRINTING
=====================================================================
QED allows you to print the entire contents of a windows text editing
buffer, or a marked block of text (if a block is marked). Simply select
PRINT from the pull down menus, and respond to the requester verifying that
you want to print. Printing occurs as a background task, and does not
interfere with any other QED features. You may even quit QED while
printing is still in process. In this case QED will release as much
memory as it can, and will hang around in a wait state until the printer is
done before fully exiting.
If you select PRINT again while the printer is busy, you will be
prompted with a requester asking if you want to cancel the current print
job. If you elect to cancel printing, printing will stop as soon as
possible. If you are using a printer buffer, then of course it may be
necessary to turn the buffer, or printer off to flush the buffer.
Section 18.0 MAKING QED RESIDENT
=====================================================================
QED can be started in "resident" mode by including "-r" (no quotes) as
the first argument on the command line. This mode will force QED to hang
around in memory until awakened by another small utility program provided
with QED.
Normally when you load QED from disk, or from ram disk, QED will exit
when the last text editing window is closed freeing up all the memory used
by QED. If you run, and exit QED frequently, this means that QED must be
reloaded each time. Many users place commonly used programs in a ram disk;
this avoids the delays of reloading a program from floppy, or hard drive,
but still means that the program must be copied from ram disk to another
section of memory before being run.
QED's resident mode allows you to keep a "single" copy of QED hanging
around in memory at all times. This is more efficient then run QED from a
ram disk, and faster then reloading QED from a floppy, or hard drive.
Remember that QED allows you to open an unlimited number of text
editing windows, that there is no significant performance penalty for
opening multiple windows, and that this is much more efficient then running
multiple copies of QED to edit separate files. You can still run QED as
separate tasks if desired, however only one copy of QED can be made
resident, and in most cases one copy of QED is sufficient to handle your
multi-file editing needs.
If QED is started in resident mode using the "-r" flag, by default no
text editing windows, or files will be opened. You can still include a
list of file names following this command line flag to be automatically
loaded into separate text editing windows. See section 3.0 for details on
specifying a list of files to be opened as CLI arguments.
A small utility program has been provided called "QGO" which will send
the necessary commands to a resident QED task to open new QED windows,
files, etc. In fact "QGO" behaves much like QED in that you can specify a
list of files names to be automatically opened in separate text editing
windows. If no file names are included as CLI arguments, "QGO" will send
the necessary commands to QED to open a single, un-named text editing
window.
Finally "QGO" can also send a command to QED to turn resident mode
off, in which case QED will be fully exited once the last window is closed.
In order to do this, simple include "-q" as the first CLI argument when
using the "QGO" program.